package com.yhsimon;

/**
 * @author： YHSimon
 * @date： 2021-10-04 18:57
 */
public class FlyWeight {
    public static void main(String[] args) {
        // 1.如果 Integer.valueOf(x) x在-127到128之间，就是使用享元模式返回,若不在范围内，则新建
        // 2. valueOf()方法使用了享元模式
        // 3. 如果使用valueOf()得到一个Integer实例，范围在-128~127,执行速度比new一个Integer对象快
        Integer x = Integer.valueOf(127);
        Integer y = new Integer(127);
        Integer z = Integer.valueOf(127);
        Integer w = new Integer(127);
        System.out.println(x.equals(y)); //t  比较的是值
        System.out.println(x==y);  //f
        System.out.println(x==z);  //t
        System.out.println(w==x);  //f
        System.out.println(w==y);  //f


        Integer x1 = Integer.valueOf(300);
        Integer x2 = Integer.valueOf(300);
        System.out.println("value=300时x1是否等于x2? "+(x1==x2));
    }
}
